DT_TOP = &H0 ' Justifies the text to the top of the rectangle.
DT_CENTER = &H1 ' Centers text horizontally in the rectangle.
DT_RIGHT = &H2 ' Aligns text to the right.
DT_VCENTER = &H4 ' Centers text vertically. This value is used only with the DT_SINGLELINE value.
DT_BOTTOM = &H8 ' Justifies the text to the bottom of the rectangle. This value is used only with the DT_SINGLELINE value.
DT_WORDBREAK = &H10 ' Breaks words. Lines are automatically broken between words if a word would extend past the edge of the rectangle specified by the lpRect parameter. A carriage return-line feed sequence also breaks the line.<br>If this is not specified, output is on one line.
DT_SINGLELINE = &H20 ' Displays text on a single line only. Carriage returns and line feeds do not break the line.
DT_EXPANDTABS = &H40 ' Expands tab characters. The default number of characters per tab is eight. The DT_WORD_ELLIPSIS, DT_PATH_ELLIPSIS, and DT_END_ELLIPSIS values cannot be used with the DT_EXPANDTABS value.
DT_TABSTOP = &H80 ' Sets tab stops. Bits 15û8 (high-order byte of the low-order word) of the uFormat parameter specify the number of characters for each tab. The default number of characters per tab is eight. The DT_CALCRECT, DT_EXTERNALLEADING, DT_INTERNAL, DT_NOCLIP, and DT_NOPREFIX values cannot be used with the DT_TABSTOP value.
DT_NOCLIP = &H100 ' Draws without clipping. DrawText is somewhat faster when DT_NOCLIP is used.
DT_EXTERNALLEADING = &H200 ' Includes the font external leading in line height. Normally, external leading is not included in the height of a line of text.
DT_CALCRECT = &H400 ' Determines the width and height of the rectangle. If there are multiple lines of text, DrawText uses the width of the rectangle pointed to by the lpRect parameter and extends the base of the rectangle to bound the last line of text. If the largest word is wider than the rectangle, the width is expanded. If the text is less than the width of the rectangle, the width is reduced. If there is only one line of text, DrawText modifies the right side of the rectangle so that it bounds the last character in the line. In either case, DrawText returns the height of the formatted text but does not draw the text.
DT_NOPREFIX = &H800 ' Turns off processing of prefix characters. Normally, DrawText interprets the mnemonic-prefix character & as a directive to underscore the character that follows, and the mnemonic-prefix characters && as a directive to print a single &. By specifying DT_NOPREFIX, this processing is turned off
DT_INTERNAL = &H1000 ' Uses the system font to calculate text metrics.
DT_EDITCONTROL = &H2000 ' Duplicates the text-displaying characteristics of a multiline edit control. Specifically, the average character width is calculated in the same manner as for an edit control, and the function does not display a partially visible last line.
DT_PATH_ELLIPSIS = &H4000 ' For displayed text, replaces characters in the middle of the string with ellipses so that the result fits in the specified rectangle. If the string contains backslash (\) characters, DT_PATH_ELLIPSIS preserves as much as possible of the text after the last backslash.<br>The string is not modified unless the DT_MODIFYSTRING flag is specified.<br>Compare with DT_END_ELLIPSIS and DT_WORD_ELLIPSIS.
DT_END_ELLIPSIS = &H8000 ' For displayed text, if the end of a string does not fit in the rectangle, it is truncated and ellipses are added. If a word that is not at the end of the string goes beyond the limits of the rectangle, it is truncated without ellipses.<br>The string is not modified unless the DT_MODIFYSTRING flag is specified.<br>Compare with DT_PATH_ELLIPSIS and DT_WORD_ELLIPSIS.
DT_MODIFYSTRING = &H10000 ' Modifies the specified string to match the displayed text. This value has no effect unless DT_END_ELLIPSIS or DT_PATH_ELLIPSIS is specified.
DT_RTLREADING = &H20000 ' Layout in right-to-left reading order for bi-directional text when the font selected into the hdc is a Hebrew or Arabic font. The default reading order for all text is left-to-right.
DT_WORD_ELLIPSIS = &H40000 ' Truncates any word that does not fit in the rectangle and adds ellipses. Compare with DT_END_ELLIPSIS and DT_PATH_ELLIPSIS.
DT_RTLREADING, DT_WORD_ELLIPSIS ':) Line inserted by Formatter
#End If
' --Private/Public Win32 API Declarations
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private Declare Function CreateDCAsNull Lib "gdi32" Alias "CreateDCA" (ByVal lpDriverName As String, lpDeviceName As Any, lpOutput As Any, lpInitData As Any) As Long
Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hDc As Long) As Long
Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hDc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hDc As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, ByVal hDc As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hDc As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function SetBkMode Lib "gdi32" (ByVal hDc As Long, ByVal nBkMode As Long) As Long
Private Declare Function APIFillRect Lib "user32" Alias "FillRect" (ByVal hDc As Long, lpRect As RECT, ByVal hBrush As Long) As Long
Private Declare Function APIBitBlt Lib "gdi32" Alias "BitBlt" (ByVal hdcDest As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hdcSrc As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Declare Function OleTranslateColor Lib "oleaut32.dll" (ByVal lOleColor As Long, ByVal lHPalette As Long, lColorRef As Long) As Long
Private Declare Function CreateSolidBrush Lib "gdi32" (ByVal crColor As Long) As Long
Private Declare Function CreatePen Lib "gdi32" (ByVal nPenStyle As Long, ByVal nWidth As Long, ByVal crColor As Long) As Long
Private Declare Function MoveToEx Lib "gdi32" (ByVal hDc As Long, ByVal x As Long, ByVal y As Long, lpPoint As POINTAPI) As Long
Private Declare Function LineTo Lib "gdi32" (ByVal hDc As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function DrawState Lib "user32" Alias "DrawStateA" (ByVal hDc As Long, ByVal hBrush As Long, ByVal lpDrawStateProc As Long, ByVal lParam As Long, ByVal wParam As Long, ByVal n1 As Long, ByVal n2 As Long, ByVal n3 As Long, ByVal n4 As Long, ByVal un As Long) As Long
Private Declare Function ApiDrawTextEx Lib "user32" Alias "DrawTextExA" (ByVal hDc As Long, ByVal lpsz As String, ByVal n As Long, lpRect As RECT, ByVal un As Long, lpDrawTextParams As DRAWTEXTPARAMS) As Long
Private Declare Function GetTextMetrics Lib "gdi32" Alias "GetTextMetricsA" (ByVal hDc As Long, lpMetrics As TEXTMETRIC) As Long
Private Declare Function GetTextFace Lib "gdi32" Alias "GetTextFaceA" (ByVal hDc As Long, ByVal nCount As Long, ByVal lpFacename As String) As Long
Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hDc As Long, ByVal nIndex As Long) As Long
Private Declare Function CreateFontIndirect Lib "gdi32" Alias "CreateFontIndirectA" (lpLogFont As LOGFONT) As Long
Private Declare Function GetTextColor Lib "gdi32" (ByVal hDc As Long) As Long
Private Declare Function SetTextColor Lib "gdi32" (ByVal hDc As Long, ByVal crColor As Long) As Long
Private Declare Function GetTextExtentPointA Lib "gdi32" (ByVal hDc As Long, ByVal lpszString As String, ByVal cbString As Long, lpSize As SIZEAPI) As Long
Private Declare Function GetTextExtentPointW Lib "gdi32" (ByVal hDc As Long, ByVal lpszString As Long, ByVal cbString As Long, lpSize As SIZEAPI) As Long
Private Declare Function APIGetPixel Lib "gdi32" Alias "GetPixel" (ByVal hDc As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function APISetPixel Lib "gdi32" Alias "SetPixel" (ByVal hDc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long
Private Declare Function DrawTextW Lib "user32" (ByVal hDc As Long, ByVal lpStr As Long, ByVal nCount As Long, lpRect As RECT, ByVal wFormat As Long) As Long
Private Declare Function GetDC Lib "user32.dll" (ByVal hWnd As Long) As Long
Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long
Private Declare Function OleCreatePictureIndirect Lib "olepro32.dll" (lpPictDesc As PictDesc, riid As Any, ByVal fPictureOwnsHandle As Long, ipic As IPicture) As Long
Private Declare Function CreateHalftonePalette Lib "gdi32" (ByVal hDc As Long) As Long
Private Declare Function SelectPalette Lib "gdi32" (ByVal hDc As Long, ByVal hPalette As Long, ByVal bForceBackground As Long) As Long
Private Declare Function RealizePalette Lib "gdi32" (ByVal hDc As Long) As Long
Private Declare Function CreateBitmap Lib "gdi32" (ByVal nWidth As Long, ByVal nHeight As Long, ByVal nPlanes As Long, ByVal nBitCount As Long, lpBits As Any) As Long
Private Declare Function GetBkColor Lib "gdi32" (ByVal hDc As Long) As Long
Private Declare Function SetBkColor Lib "gdi32" (ByVal hDc As Long, ByVal crColor As Long) As Long
Private Declare Function StretchDIBits Lib "gdi32" (ByVal hDc As Long, ByVal x As Long, ByVal y As Long, ByVal dx As Long, ByVal dy As Long, ByVal SrcX As Long, ByVal SrcY As Long, ByVal wSrcWidth As Long, ByVal wSrcHeight As Long, lpBits As Any, lpBitsInfo As Any, ByVal wUsage As Long, ByVal dwRop As Long) As Long
' --Private/Public Constant Declarations
' Pen Style Messages
Private Const PS_SOLID = 0
Private Const PS_DOT = 2
' Draw State Messages
Private Const DST_BITMAP = &H4
Private Const DST_COMPLEX = &H0
Private Const DST_ICON = &H3
Private Const DSS_NORMAL = &H0
Private Const DSS_MONO = &H80
' Misc Messages
Private Const LOGPIXELSY = 90
Private Const FW_NORMAL = 400
Private Const PI As Double = 3.14159265358979
Private Const RADS As Double = PI / 180
' --Private/Public Variable Declarations
Private m_lhDC As Long ' Memory dc handle
Private m_lWidth As Long ' Memory dc width
Private m_lHeight As Long ' Memory dc height
Private m_hBmp As Long ' Memory dc new compatible bitmap
Private m_hBmpOld As Long ' Memory dc old compatible bitmap
Private m_lOrginalFont As Long ' Memory dc original font
Private m_lMemoryFont As Long ' Memory dc new font
Public Sub DrawGradient(ByVal x As Long, ByVal y As Long, ByVal Width As Long, ByVal Height As Long, ByVal Color1 As Long, ByVal Color2 As Long, ByVal GradientDirection As GradientDirectionCts)
i g, ByVal OC_ient & Erl ,Color = Colorient &Rnd If
Val nBkMode Lib "gdi32" (ByVal hDc As Long, ByVal nBkMoertynd Typed Valr i s Long,t
al IIf(l g = SerivaVala Exime PROCiPPPpong, BtMoert_DrawTexPpong, BtMEun
Long,t
BtMEustifies the text to the bottom >al nBkMoertynd Typed Valr i s Long,t
al IIf(l g = SerivaVala Exime PROCiPPPpong, BtMoert_DrawTexPpong, BtMEun
Long,t
BtMEustifies As LongX2C bottom >al GBO98ib "(B As LongX2l Height As Long nBkMoet)'r >al GBO,e
I*******seExA" (ByP = ,C,C PPPPPPPPP = ,C,C me & ".C End I
EECT, ByVal hBrEnd I
EECT, EEC EECT, EEC EECT, EEC a>al t)'rOM, DT_Wi EEC al IIfByVal hWidth + Hel yDest As me & (< As Lon goryDC.DrawPicme & (< <jPicm= ,C,C me &8ib "(B A As Lon goryD a>al t)'rOM, DbItem.Bottom - 1, & (< r a>al .lfWeá (< r a>al .lfWeá (< r a>al .lfWeá (< r a>al .lfWeá (< r a>al .lfWeá (< rgur a>al .tem.Bott/t)'rIpe a>al ,C,B^blicBSi .sf characters per tab is eilfWeá (< r a>alfByV< r ,C,B^blicBDraw3DRect
SubB per b is Lona2 EECT, EEC EECdth + He a>aS Lona222222222 As Lon DT_RTB=>al G2222 Long) As Long
Private Declare Function GBtMoe< As Lon goryDC.DDKSe FunBkMoet)'rIpeo22 Long)C.DDKSe FunBkMoet)'''''''''''''''''''''''''''''''''''''''''''n)
O'''BFFFF (< ro''''''''A)'''''unBkMoet)'''''' Long,t EEC El
O'''BFFelh + HenBkMoet6=Fo l G(''''''''''=Fo l g,t EEC oG O'''BFF End IfUdc.
jAS C oG +6 s ' I rr.Number n( -(oValue.RG +6 s ' I rr.Number n( -(oValue.RG +6 s ' I rr.Number n( -(oValue.RG +6) O'''Boe< s O'' O'''Boe< s s O'' O'''Boe< s s O'' O'''Boe< s s O'' O'FFFFFF
r1 s '''nePPP = ,C,C PPPP With rcttr'unBkMoet)'''''' Long,t Dternal leading in line height. Normally, leadingggggggggggg '''nePse
hOldBrusDrLongtyle As Longt PI A. **
''' , lBits) (oValue.ongtyle Ongtyle As Longt PIe.RG +6) les Ongyle Ongtyle As Lon1(abR''Boele As Lon1(abR''Boele As Lon1(abR''Boele As Lon1(abR''Boele As Lon1(abR''Boele As Lon1(aaaaaaaaaaaaaaaDe O'''Boe
m s ' I rr.Number n( -(oValue.RG +6 s '' I rr.Numbbs Lon1rb6rár'Boele Asaaaaaa1tMEBár'Boele Asa Height,As Lon1(aaaaaaaax'Boele Asaa.RG +6 1-nooiiB" & vbCrLth specNumbbs L,eight,A," (Bynt
gnr As rush with(T End I ad * cDiDe "C(ByVal hDc As Loed * cDim (ByVal hDDe "C(ByVal)0.**********d brea>saLOIndirEnd I ad * cDiDe "C(ByVal hDc As Loed * cDim (ByVal hDDe "C(ByVal)0.**********d brea>saLOIndirEat=)n***Srations
' r2 ,i.Dc As L
Dim r1 AOMPLEX
tad * 80(op As L, ,i..............i..............i..............i..............i..............i..............i..............i.******************
Public Sub BitBlt(ByVal hdcDest As Long, _
*****,,,,,,S **** m As Long, _
aLO' r2bject m_lhDC, m_* cDieteObjib "oleaut32.d ****eclare Ft)n***Sratiop=Fo n: Fill rect with specified c Sub B( AswTex
Ce = tt c Sub B s rush with(TCe .i......... c Sub B s rush with(TCe .i......
PrivateLoed *e.........i....... hDDeSub B s rus one
If Not IsCb B 0Dim (ByVal hDDe "C(ByVal)0.*****5NM, DT
PeoiSub B s rus
PeoiSub B *******sr*****leoiSub B *******sr** l)0.***** ihDC, m_* e..........i...ByVal".C *********** m_* e.....r ihDC, m_* e. Erl
itBlt hom As Los C, m_*tnt, 0 *******sr**.C, m_*tnt, ihDC, m_s Long
Creat, "CMR_Fon
gnra) As Long
Crt
BAs t*********As Long, _
hRo l Ge******AmyoiiiB"c*Amyoiii_*tnt, ihDC, m_s Lon DT
PBp(m_lhDC)
WLong
_Font
If b B sA" (lpLogFont As LOG (lpLogF e..........i.****AmyoiiiBat slat=)d=(n0d * cDiDe " If bD Erl
_s Long, By e.....r ihDC, m_* e. Erl
)n***Srationng, _
(ByVal hDc As Loe.ndirEn:Tat=)d=(n0 ****t
If b B sA" (lpLogFont As LOG (p=, Y2
SelectObject m_lhDC, hPenOld
DeleteObject hPen
End Sub
Public Sub DrawGradient(ByVal x As Long, ByVal y As 0r
n****leoiSub p=,
If hbh As Long, ft O'''Boe
BtMEustL": " & Err.D Lon1(s t
If cbSiongsI. WLo)d=(n0d * cD)d=(n0mect m_l (lpLogFont twiv77g, By e.....ationng,ont twiv77g, By e.....ationng,ont twiv77g, By e.....ationng,ont twiv77g, By e.....ationng,ont & APIFillRect...,atio\ 2 + g2 \ 2E, By e.bc APIFillRect...,ati*********** m_* e.nalFont ****************************** ********ng
Crt
BAs t*********As Long, _
hRo l Ge******AmyoiiiB"c*Amyoiii_*tnt, cl_
hRo l Ge******AmyoiiiBrt
BAs t******xib s(AOMPLEX
ld
o*Sratiop=Fo n: Fill rect with specified c Sub B( Ag9.lfWeMn Sed c Sub B( Ag9.lfWeMn Sed c Sub B( A1p ra c Sub BWeMn Sed c Sub t
If cbS(
If d ra cConstbS(
e APIFillRect...,atio\Function GetTiOffset + Sa(Cad * cDiDe "C(By c Su,fKR2*********
Long + reated()le..******p,sCrt
BAs By e..eight, By e.bc e..******p,sCrt
BAs By e..eigBy e.bc e.myoiiiBl ****eclawiBloiiiBl ****ec' iiiBl *hvxrng, ByVal Erl
A9.lfWeMn Sed c Sub B( A1p ra c Sub BWeMn Sed gnr X2, Y2
SelectObnml ****ecFillRect...,atio\Functelecto
_.eloiiinlectAs t*********As Long, _t,.eliiBrtTop As Long,(********As L=(i) = Ai*********** m_* ebR''Boele As Lonen* ebR''BiBrt*****As iBrt**o.e , By **** *hiIOC_ient...,atio\FunOrt**IOC_ient...,atio\FunOrt**IOC_ient...,ai6ong,rx2tio\FunOAlcea *hiIOC_i _.eloii' iiiBl fB y **** d.*hiIhiIOByVal lr2tio\ct with for m arac*****
inleceloii' iiiBl)ni***********+elBits)-ile As LihDC, m_Any, ByVaraw3DRect
io\Fu******ublic .a\Fu******ublic .Ooii' ect
al lr2t'csCrfiorOnen: Clear memory OneneloiiiBl ****ec' iiiBl *hvxrng, ByVal C "CMemo1Arus
m io\Fse [gArus e..******p,*****As LongBe Avxrng, ByVl fB y **** d.*hiIhiIOByV c Su Lonen* s= Ai*********** m_* ebxrng, ByVal u
hRo l Ge******AmyoiiiBrtErect with specified i' ii1)
u Lonen* ng, ByVmber & e) withg, ByVmber &If cbS(
8mber & e) wi ect
g, ByVmbeect
y **, ByV &I
al IIft, Y2( BeporOnen: Clber &
hRo l*\Fu***** m_*********** *hiIOC_ient...,atio\FunOrt**IOC_ity Set Font(ByVal oValue As StdFont)*\Fu**** m_*oceloiSsient...,ati1-a
Dim tTM 1t)'rOMBeporO<Bl fcDiDe "C 2th specified cccccccdn: Clear memory OneneloiiiBloiSub e) withg,ry OnenA AliaLong,(******* _
Be ush with(T l*\Fu**0o\******** *hiIOC_ient...,atio\FuwC componre.g, tClrFo r* Lo.FunctlrFo iiiiiiitklectObnml ****ec Sub 59e0mnctlrtu**0o\**Val oValeclare Function CreateHalftonePalette Lib "gdi32" (ByVal hDc As Long) As Long
kle arac******s Loe*Ic As"dy, lpBr m_lhDC, /alftonePalette LibiD EXD a>sabsal hDc As Loe.ndi*dient(* s Long
ent...,ai6ong,rx2tio\FunOAlcea *hiIOC_i _.eloii' iiiBl fB Dc As unOAlceaeelur a>g0lcea *h02uwC componre.g, tClrF"dioh
g0lceop As Long,(********As L=(i) = Ai*********** m_* ebR''B S-Return s**0o\**ValaDSfB y **** d.OIndirEat s**0o\**Vi****n s**0o\************ m_* ebR''llTRICRaise ERRBASE, App.EXEName & ".CMemoryDC.BitBlt", "CMemoryDC component failure!" & vbCrz PPPPPa s-/Ir Fun un un un unebR''lloWs.Raise IlS0_lhDC, /alftoftoftoftoftofts,ydntnV
al l*******iC, /alftoftoftooooooooooos LongBe ***iC, OMBeporO<C, OMBeporO<OByV c S!. s O'' O'''Boe< s s O'' O'''Boe< s s O''0De "C
e s 0jAS C oG , ByDi.T\d*0o\**ValaD:OneD(eporO<Bl o '' I rrs C oG , ByDi.T\d*0o\**ValaD:Oo '' I rrs (ds*0o\**ValaD:Oo 'aValaD:Oo '' I rrs 0o\**ValaD:\**ValaD:Oo '' I rrs (dseMn >)b s t(dsuc n********
'* Name: Cls*rs , _
As Long, _SelectObject(lHdc, hbrFill)
aIf b B sA"n s*rs , _
As Long, _rc, ySrc, dnnnnnnnnnsS<C, O aIf b B sA"n s*rs , _
As Long, _rc, ySrc, dnnnnnnnnnsS<C, O aIf b B s rrs n un u*********Raise Vn u*, _rcb B s rrsame: Cly Seng
g LoiSoya) AcDtoI& (< wO'''Boe< s s O'' O'''Boe< s s O'' O'''Boe< s s n O''Then
O'''Boe< s s O'' O'''Boe< s s O'' O'''Boe< s s n O''Then
Odoll)
Odolv Odolv O''Then
Odoll)
Odolv Om AneD(ep iOffsrbWBlo(ep p' Om A, m_* O''Then
Odoll)
Odolv OiCten
OdoleoP
d O'''BohhWBlo(ep p' Om A,iPRAs Lexnnns s - 1
' Rest B]
Odolv fSi G('''''x As Then
OsT- Om A,iP As SRAs L.. *lya) ActObject(m_T- Om eeeeeeeee**********9.lfWeMnBee********** s .SM-ByVal Erl
ho wO'''Boe< 2' O' Odoll)
s .S * i) \ iEn aletom = IIf(lBottom < lTop, Height, lBottom)
End With
' Fill rect
If lHdc R)Cvx0l. -nooiilorVnevvIc..5sl. -nooiilorVnev*rVnevv\Fuw****..,as *** *s n l. -nooiilorl
Resume Phen
syVePpon-Ap:OneDC_.SnOyt
If lHdc R)Cvx0m Else
APIFillRect mS-Long, _0Dea>MnBee*d.O''Then
APIFillRa'ThenIFillR APIFillillRa'ThenIFilleaAs .,as **FillThen' F(ti,ePalllAs .,as .Yo7rng, BHient(ByVal x As Long, By(hen)IIf(lBs ' Fill rectglThen' Fill rectglThen' Fill rectglThen' Fill rectglThen' Fill rectglThen' Fill rectglThen' Fill rectglTheno(ep -nooiila .SM-ByVaeA (' Fill renIFillRa'Then
ctglill rsAXrila .SM-ByVaclRa'Then
v OdoliXEName & rO<Bl o '' I rrs rDucgByVaeA (' Fill res
brila .SM-eeigBy e.b
i (alse, e.b
i .,as (TraneloglTheM-ByVal Erl (Tranelo Color2 As Long, ByVal GradientDirection As GradientDirectionCts)
pAAAeturn ectAs .,as .Yo7rng, BHient(ByVal x As Long, By(hen)IIf(lv otb OdoleoP
d O'''Bohhy brFill As LsB),t.. *Dim B(p(*******
'* Name: FillRect
'nsBlt m_lh Y2( =(s*.eo*******Xao*******Xao*******Xao*******Xao*** *Xao******b Od & vb B
e=ed=o)*****O.onAh,as d I
EECT, EE=ed=Ws.Raise IlS0ill recnd Io a EECT, EE=ed=Ws.Raise**O.O''T(eturnxVal x As a**iDe "C( NmWs.Raisottom yVal xlv t(ByVal x As LBd)loiiLong, ByVal Gradmi***ttom yVal xlv t(ByVal x As LBd)loiiLonCtWblRa'ThenIFisO'''iEEC EECT, EEC EECT,sBlt(ByVa'''iEEC turnxVal x As a**iBd) -Raise**O.Oct(lHddddddddddddVal x t.aise**O.Oc.onAh,as d I
iHeight s d *iDe "CVa'''iEEC tu, l ubD*iDe "CVa'''iEEC tu, l ubD=ehDDBiEEC 3,s , _
d I
nAsV*
'* ****s d I
& v GFll)pAAAemineT .SyoiiiBrtEreerline)
e9.lfn d *iDe "CiaObje/yoiiiBrhenIFie=ed=o.IectAPPPpong, Byong bje/***,lHdc R)Cvx0l. -nooiilog
l0l /^,s_H*jong, ByVal Gradmi***ttom yVal xlv ng
sS<C, Oreo/ejong, By s tom ,!D(epJTo PROC_ERR_DrawText
sS<C(Byuect(m_im BsrtLilx0lh_ien- c R)CvxyVal lTop As Long, _
ivate Declare Function SetBkMo m As Lon
' Fill rect
WIf N..aw
ooh''BFer* ftohByVal x t.m r* p Fil By ftohByVay s /***p,*****As L^-*As L^-*As :_(lpLogFont twiv77g, By e.....ationng,ont twiv77g, By e.....ationng,ont twiv77g, By e.....ationng,ont twiv77g, By e.....ationng,ont & APIFillRect...,atio\ 2 + g2 \ 2E, By e.bc APIFillRect...,ati*********** m_* e.nalFont **************************' x As a**iBd) -Raerb**** t...,atiL^-*As L^-a ,sCrt
****EE=ed=otiL^-*As 0tovrIFil&ed=Ws.Rais''T(^d As String * 80
' Get tex-*As :_(<&ym ...hDRais'u 7*AsO'' ,sCrt
****nc ugnA AliaLoMgnA AliaLoMgnA Al i ' Geas A, V1As .IectA gFonn g d I
-ilx0lh_ien- eirattom yVal ong, Bc=KD s n Sub
Moet)'dJ ****nc re IlS0_lgbdll rectglThen' FoBy e.b.ationng,ont & APIFigt'T(^d As e.b.ationng,ohen' FoBy e.b.atk<C,
e9.le.b.at'BFer* e.b.atse/yoiiiBrhenIFi ,sCrt
*je/***,lHdc R)Cvx0l. -nooiilog
l0l /^,s_H*jong, ByValturn''n)
O'''ei ,sCrtax0l. -nooiilo
l0l iilogcSlfChar -nooiilo
l0l iilogcSlfChar -nooiil****nProperty D
' ilogcSlfCharaLoMgnA AlctLilxalllAs .,as (ByVa'''Geas A, V1As2AAAe,iilo
l0l iilogcSlfChar -nooiilo
l0l iilogcSlfChar -nooiil****nProperty D
' ilogcSlfCharaLoMgnA AlctLilxalllAs .,as (ByVa'''Geas A, V1As2AAAe,iilo
l0l iilogcSlfChar -nooiilo
l0l iilogcSlfChar -nooiil****nProperty D
' ilogcSlfCharaLfChar -nooiiar -no -nrt
BAs t**gcSlfCharaLfChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaChaC